Es cierto que el escritorio Linux de hoy no tiene mucho que ver con el que era hace unas décadas. No obstante, aún se sigue dependiendo de comandos en muchos casos. Por eso, hemos creado este mega tutorial con los 20 comandos básicos imprescindibles que debes conocer para comenzar a moverte en tu distro Linux.
Índice de contenidos
No olvides que todos los comandos pueden mostrarte ayuda si agregas la opción -h o –help en su mayoría. Otra forma es invocar al manual, para ello, usa el comando man seguido del nombre del comando del que quieras obtener ayuda. Por ejemplo: man ls
Permisos
sudo
sudo significa “superuser do” y permite ejecutar un comando con privilegios de administrador (root) de forma temporal. Es fundamental para poder ejecutar el resto de comandos cuando sean necesarios permisos elevados. Su funcionamiento es sencillo, solo hay que anteponerlo al comando que vas a ejecutar con privilegios y al pulsar INTRO para ejecutar, te pedirá la contraseña:
sudo nano /etc/passwd
Navegación
ls
ls es el comando que lista el contenido de un directorio en Linux. Es la forma más básica y universal de ver qué archivos y carpetas existen en la ubicación actual o en cualquier ruta que indiques. De esta forma, te orientará a conocer qué archivos o directorios existen, inspeccionar permisos, tamaño y fechas, así como propietarios y grupos de los archivos. Ejemplos de uso:
- Listar el contenido del actual directorio
ls
- Listar el contenido del directorio /etc
ls /etc
- Listar el contenido con detalles (permisos, propietario, tamaño, fecha)
ls -l
- Listar también los archivos ocultos
ls -a
cd
cd significa change directory y sirve para moverte entre directorios dentro del sistema de archivos. Con él, podrás ir a donde necesites. Por ejemplo:
- Ir a /etc
cd /etc
- Volver al directorio superior. Por ejemplo, si estamos en /home/usuario, volveremos a /home
cd ..
- Ir al directorio de trabajo del usuario
cd ~
pwd
pwd es la abreviatura de print working directory y sirve para mostrar la ruta completa del directorio en el que te encuentras actualmente. Aunque en el prompt suele indicar dónde estas, en caso de que no sea así, podrás ver la ruta en la que te encuentras:
pwd
tree
tree es un comando que muestra la estructura de directorios y archivos en forma de árbol, es decir, de manera jerárquica y visual. Es muy práctico para orientarse en el sistema. Ejemplos:
- Mostrar la estructura del directorio actual
tree
- Mostrar solo los directorios (sin archivos)
tree -d
- Limitar la profundidad del árbol, en este caso a dos niveles.
tree -L 2
Te puede interesar leer sobre Ubuntu vs Linux Mint, dos distribuciones ideales para principiantes
clear
Como su propio nombre indica, clear limpia la pantalla. Cuando has ejecutado varios comandos o cuando la salida de un comando ha llenado el terminal de texto, puedes volver al estado original borrando toda la pantalla con este comando, y así tener un entorno de trabajo más despejado. Esto no altera el resultado de los comandos previos, solo elimina el texto del Terminal…
clear
Gestión de archivos y directorios
cat
cat significa concatenate y sirve para mostrar el contenido de archivos, concatenarlos y redirigirlos hacia otros archivos o comandos. A pesar de que te parezca raro por su función, es de los más usados y prácticos de Linux.
- Mostrar el contenido de un archivo
cat ejemplo.txt cat /etc/passwd
- Concatenar varios archivos en uno solo
cat parte1.txt parte2.txt > completo.txt
cp
cp significa copy y sirve para copiar archivos y directorios dentro del sistema de archivos. Es decir, hace una copia en otra ruta, manteniendo el archivo original.
- Copiar un archivo a otro directorio
cp documento.txt /home/user/Documentos/
- Copiar un directorio completo de forma recursiva, es decir, los directorios, y todo su contenido, incluidos los subdirectorios
cp -r proyecto/ respaldo_proyecto/
- opiar un archivo manteniendo permisos y atributos originales
cp -p config.ini /etc/miapp/
mv
mv significa move y sirve para mover o renombrar archivos y directorios. Si la ruta origen y destino son diferentes mueve el archivo o directorio, pero si es la misma ruta, entonces renombra. Ten en cuenta que hay una diferencia vital con cp, y es que en este caso no mantiene el original, solo el destino…
- Mover un archivo a otro directorio
mv informe.txt /home/user/Documentos/
- Renombrar un archivo
mv notas.txt notas_antiguas.txt
- Mover un directorio completo
mv proyecto/ /home/user/Desarrollo/
rm
rm significa remove y sirve para eliminar archivos y directorios del sistema de archivos. Ejemplos de uso cotidianos son:
- Eliminar un archivo
rm notas.txt
- Eliminar un directorio completo de forma recursiva
rm -r proyecto/
- Eliminar un archivo con confirmación interactiva
rm -i
mkdir
mkdir es la contracción de make directory y sirve para crear nuevos directorios en el sistema de archivos. Por ejemplo:
- Crear un directorio simple llamado proyectos en el directorio actual, o en el directorio /home, por ejemplo…
mkdir proyectos mkdir /home/proyectos
- Crear tres directorios a la vez en este caso
mkdir fotos videos documentos
- Crear una estructura completa de directorios con -p, es decir, no solo crea src en este caso, sino que crea proyectos, dentro de él web, dentro frontend y dentro src.
mkdir -p proyectos/web/frontend/src
nano
nano es un editor de texto en la terminal, diseñado para ser simple, intuitivo y fácil de usar, incluso para principiantes. Con él puedes crear o modificar archivos de texto, código fuente y scripts.
- Editar un archivo de texto
nano notas.txt
- Editar un archivo del sistema con permisos elevados
sudo nano /etc/hosts
- Crear y editar un script
nano backup.sh
Si el archivo no existe ya lo crea, si existe lo abre para que puedas modificarlo. Su interfaz es sencilla, y abajo verás los atajos de teclado necesarios, por ejemplo Ctrl+X para salir, Ctrl+O para guardar, etc.
chown
chown tiene su origen change owner y sirve para cambiar el propietario y/o el grupo de archivos, directorios y enlaces simbólicos. Ejemplos:
- Cambiar el propietario de un archivo
sudo chown pr ejemplo.sh
- Cambiar propietario y grupo a la vez
sudo chown pr:usuarios proyecto/
- Cambiar propiedad de forma recursiva
sudo chown -R pr:pr /var/www/misitio
chmod
chmod es la combinación de las palabras change mode y sirve para cambiar los permisos de archivos y directorios. Ya sabes que en Linux hay tres tipos de permisos o modos:
- r → read (leer)
- w → write (escribir)
- x → execute (ejecutar)
Y se aplican a tres grupos:
- u → usuario propietario
- g → grupo
- o → otros
- a → todos
Si quieres ver ejemplos de uso, aquí te muestro algunos:
- Dar permisos a un ejecutable o script para ejecución
chmod +x miscript.sh
- Se puede también quitar permisos
chmod -x miscript.sh
- Asignar permisos numéricos (modo octal) en vez de con letras
chmod 644 documento.txt
- Y se puede hacer para usuarios, grupos y otros de forma más específica
chmod u+w ejemplo.txt chmod ug-x script.sh
./
No es un comando como tal, pero es práctico para ejecutar scripts (.sh). Una vez tienen permisos de ejecución, simplemente puedes ejecutarlo usando el nombre del script. Por ejemplo:
./script.sh sudo ./script.sh
tar
tar o tape archive sirve para empaquetar varios archivos o directorios en un solo archivo, llamado tarball (normalmente con extensión .tar, .tar.gz, .tgz, .tar.bz2, etc.), dependiendo de si no tiene compresión o si usa algún tipo de compresión. Ejemplos:
- Crear un archivo comprimido .tar.gz
tar -czvf backup.tar.gz documentos/
- c → crear
- z → comprimir con gzip
- v → modo verbose (muestra progreso)
- f → especificar nombre del archivo
- x → extraer o desempaquetar
- Extraer un archivo .tar.gz
tar -xzvf backup.tar.gz
- Crear un archivo .tar sin compresión
tar -cvf proyecto.tar proyecto/
Recuerda que si tienes un .zip, puedes comprimir y descomprimir con los comandos zip y unzip respectivamente, seguido del nombre del archivo…
Te recomiendo leer nuestro artículo sobre el mejor hardware para Linus
Búsqueda y filtrado
grep
grep es un nombre de comando que proviene de global regular expression print y sirve para buscar texto dentro de archivos o dentro de la salida de otros comandos. Sirve como un filtro bastante práctico para encontrar lo que buscas. Ejemplos:
- Buscar una palabra dentro de un archivo, en este caso busca «error», mostrando las líneas que contengan ese patrón
grep "error" servidor.log
- Buscar ignorando mayúsculas/minúsculas
grep -i "usuario" datos.txt
- Filtrar la salida de otro comando usando la pipe |, en este caso, de la salida de ps de procesos, solo muestra el correspondiente a firefox
ps aux | grep firefox
find
find es una herramienta extremadamente poderosa para buscar archivos y directorios en el sistema de archivos según criterios como nombre, tipo, tamaño, fecha de modificación o creación, permisos, propietario, y mucho más. Es extremadamente complejo, pero voy a mostrar ejemplos básicos. Además, en este caso puede tardar más en dar resultados, pero busca todo, a diferencia de locate, que se basa en una base de datos indexada.
- Buscar un archivo por nombre en el directorio actual o en un directorio específico
find ./ -name "notas.txt" find /home "notas.txt"
- Buscar todos los archivos de un tipo, por ejemplo con extensión PDF
find /home/biblioteca -type f -name "*.pdf"
- Buscar solo directorios
find / -type d -name "mw"
- Buscar archivos y ejecutar una acción sobre ellos, en este caso eliminará todos los .tmp o temporales
find . -type f -name "*.tmp" -delete
Existen otras opciones que puedes usar, como -size para buscar por tamaño, -empty para filtrar archivos vacíos, -ctime, -mtime, -atime para buscar por fecha de creación, modificación, -user y -group para buscar los pertenecientes a un usuario o grupo concreto, o por permisos -perm. También se pueden combinar con operadores lógicos -and, -or, y -not para que se tengan que cumplir ambas condiciones, o una o la otra, o negar la condición.
Información del sistema y de procesos
top
top es una herramienta que muestra en tiempo real el estado del sistema, tanto el uso de la CPU, como de memoria, así como los procesos activos, etc. Ejemplos
- Ver el estado del sistema en tiempo real
top
- Mostrar solo los procesos de un usuario
top -u manolito
ps
ps son las siglas de process status y sirve para mostrar una instantánea de los procesos que están ejecutándose en el sistema en ese momento. Permite no solo ver los procesos en marcha, sino también el PID, usuario, consumo de recursos de hardware, etc. Ejemplos de uso:
- Mostrar los procesos del terminal actual
ps
- Listar todos los procesos del sistema (formato BSD)
ps aux
- Mostrar todos los procesos en formato completo
ps -ef
df
df proviene de disk free y sirve para mostrar el espacio usado y disponible en los sistemas de archivos montados. Ejemplos:
- Mostrar el uso de disco de todos los sistemas de archivos
df
- Mostrar el uso en formato legible (MB, GB)
df -h
- Mostrar información de un sistema de archivos concreto
df -h /home
du
El comando du o disk usage sirve para mostrar cuánto espacio ocupan archivos y directorios en el sistema de archivos.
- Mostrar el tamaño de un directorio en formato legible
du -h home/ du -h
- Mostrar solo el total de un directorio
du -sh carpeta/
- Limitar la profundidad del análisis
du -h -d 1 /var/log
Red y conectividad
curl
curl es una herramienta de línea de comandos para transferir datos desde o hacia un servidor usando una enorme variedad de protocolos: HTTP, HTTPS, FTP, SFTP, SCP, SMTP, IMAP, WS/WSS, entre muchos otros.
- Descargar el contenido de una página web
curl https://example.com
- Guardar un archivo con nombre personalizado
curl -o salida.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js
- Reanudar una descarga interrumpida
curl -C - -O https://servidor.com/archivo.iso
wget
wget es otra herramienta de línea de comandos diseñada para descargar archivos desde la web de forma no interactiva. No es exáctamente a curl, aunque se parece en algunos aspectos. Ejemplos:
- Descargar un archivo directamente
wget https://wordpress.org/latest.zip
- Guardar el archivo con un nombre específico
wget -O hugo.zip https://github.com/gohugoio/hugo/archive/refs/heads/master.zip
- Reanudar una descarga interrumpida
wget -c https://releases.ubuntu.com/noble/ubuntu-24.04.4-live-server-amd64.iso
Gestión de paquetes
apt
apt es el gestor de paquetes en línea para paquetes .deb que se usan en distribuciones como Debian y derivados, como Ubuntu, Linux Mint, etc. Con ella se puede instalar software desde los repositorios, resolviendo las dependencias de forma automática, además de actualizar y desinstalar. Ejemplos:
- Instalar un paquete
sudo apt install firefox
- Desinstalar un paquete o desinstalar eliminando los archivos de configuración
sudo apt remove htop sudo apt purge htop
- Actualizar la base de datos de paquetes
sudo apt update
- Actualizar todos los paquetes instalados en la distro
sudo apt upgrade
dnf
dnf (Dandified YUM) es el gestor de paquetes por defecto en distribuciones basadas en RPM, utilizado en Fedora, RHEL, y derivados. Su función es la misma que apt, pero para paquetes .rpm. Ejemplos:
- Instalar un paquete
sudo dnf install chrome
- Desinstalar un paquete
sudo dnf remove htop
- Actualizar el sistema, es decir, todos los paquetes instalados
sudo check-update sudo dnf upgrade
zypper
zypper es el gestor de paquetes por línea de comandos de openSUSE y SUSE Linux Enterprise, y funciona sobre el motor ZYpp. En este caso, también trabaja con paquetes .rpm. Ejemplos:
- Instalar un paquete
sudo zypper install ffmpeg
- Desinstalar un paquete
sudo zypper remove ffmpeg
- Actualizar el sistema
sudo zypper refresh sudo zypper update
- Actualización completa de la distribución
sudo zypper dist-upgrade
pacman
pacman es el gestor de paquetes oficial de Arch Linux y todas sus distribuciones derivadas (Manjaro, EndeavourOS, etc.). Ejemplos de uso:
- Instalar un paquete
sudo pacman -S gimp
- Desinstalar un paquete
sudo pacman -R gimp
- Actualizar el sistema
sudo pacman -Syu
snap
snap es el gestor de paquetes universal desarrollado por Canonical. Aunque se hizo especialmente para Ubuntu, también puede funcionar en otras distros como Debian, Arch, Fedora, openSUSE, etc. Su uso es sencillo, como por ejemplo:
- Instalar un paquete
sudo snap install spotify
- Desinstalar un paquete
sudo snap remove spotify
- Actualizar paquetes
sudo snap refresh vlc
- Actualizar todos los paquetes
sudo snap refresh
Recuerda que también existen los paquetes universales AppImage y Flatpak que funcionan en todas las distros. En estos casos, puedes usar directamente la web de Flathub para descargar e instalar o la de AppImage…
Compilar (make)
Por último, es importante también conocer cómo se puede compilar un código fuente, ya que es algo que en algún momento toca hacer cuando estás en Linux en paquetes que no se distribuyen como binarios. Para ello, el proceso genérico es el siguiente, imaginando que el tarball de código fuente se llama paquete.tar.gz:
tar -xf paquete.tar.gz cd paquete/ ./configure make sudo make install
Si tienes dudas, deja tus comentarios

